const fs = require('fs')

const path = require('path')

//定义正则表达式 分别匹配style 和 script 标签 
const regStyle = /<style>[\s\S]*<\/style>/
const regScript = /<script>[\s\S]*<\/script>/


fs.readFile(path.join(__dirname,'./clock/index.html'),'utf-8',function(err,dataStr) {
        if(err){
            return console.log('读取失败');
        }
        // console.log('读取成功' + dataStr);
        resolveCSS(dataStr)
        resolveScript(dataStr)
        resolveHTML(dataStr)

})
// 定义处理css样式的方法        
function resolveCSS(htmlStr){
    //使用正则提取需要的内容   
    // exec 匹配正则表达式 如匹配错误 则为 null  如正确 则为 数组的第一个
    const r1 =   regStyle.exec(htmlStr)
    console.log(r1);
    const newCss =  r1[0].replace('<style>','').replace('</style>','')
    //  console.log(newCss);

    fs.writeFile(path.join(__dirname,'./clock/index.css'),newCss,function (err) {
        if(err){
            return console.log('写入失败');
        }
        console.log('写入成功 ');

    })
}
//定义处理scrpit的方法
function resolveScript(scriptStr) {
    const r2 = regScript.exec(scriptStr)
    // console.log(r2);
    const newScript =   r2[0].replace('<script>','').replace('</script>','')
    // console.log(newScript);
    fs.writeFile(path.join(__dirname,'./clock/index.js'),newScript,function (err) {
                if(err){
                    return console.log('写入失败');
                }
                console.log('写入js脚本成功 ');
        
            })
}

function resolveHTML(htmlStr) {
    //字符串替换操作 把style 和 script 替换为 link 和script 
    const newHtml =   htmlStr.replace(regStyle,'<link rel="stylesheet" href="./index.css" />').replace(regScript,'<script src="./index.js"></script>')
    fs.writeFile(path.join(__dirname,'./clock/change.html'),newHtml, function(err) {
        if(err){
            return console.log('写入失败'+err.message);
        }
        console.log('写入html 成功');
    })

}